package com.huiminpay.merchant.api;

import com.huiminpay.merchant.common.cache.domain.BusinessException;
import com.huiminpay.merchant.common.cache.domain.PageVO;
import com.huiminpay.merchant.dto.MerchantDTO;
import com.huiminpay.merchant.dto.StaffDTO;
import com.huiminpay.merchant.dto.StoreDTO;

public interface MerchantService {
    MerchantDTO queryMerchantById(Long id);

    MerchantDTO createMerchant(MerchantDTO merchantDTO) throws BusinessException;
    //资质申请
    void applyMerchant(Long merchantId,MerchantDTO merchantDTO) throws BusinessException;
    //商户下新增门店
    StoreDTO createStore(StoreDTO storeDTO) throws BusinessException;
   //商户新增员工
    StaffDTO createStaff(StaffDTO staffDTO) throws BusinessException;
   //为门店设置管理员
    void bindStaffToStore(Long storeId, Long staffId) throws BusinessException;

    MerchantDTO queryMerchantByTenantId(Long tenantId);

    PageVO<StoreDTO> queryStoreByPage(StoreDTO storeDTO, Integer pageNo, Integer pageSize);
}
